package ec.edu.ups.rhc.servicio;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;
import javax.jws.WebMethod;
import javax.jws.WebService;

import ec.edu.ups.rhc.datos.ReservacionDAO;
import ec.edu.ups.rhc.datos.HabitacionDAO;
import ec.edu.ups.rhc.modelo.Habitacion;
import ec.edu.ups.rhc.modelo.Reservacion;

@WebService
public class ServicioWS {

	@Inject
	HabitacionDAO habitacionDao;
	@Inject
	ReservacionDAO reservDao;

	@WebMethod
	public List<ProductoS> listarProductos(FiltroS filtro) {

		List<Habitacion> habitaciones = habitacionDao.listarDisponibles();
		List<ProductoS> prods = new ArrayList<ProductoS>();
		for (Habitacion v : habitaciones) {
			ProductoS p = new ProductoS();
			p.setCodigo(v.getId());
			p.setCosto(v.getPrecio());
			p.setNombre("Habitacion-" + v.getId());
			p.setStock(v.getCapacidad());
			p.setTipo(v.getTipo());
			prods.add(p);
		}
		return prods;
	}

	@WebMethod
	public String regitrarReserva(ReservaS reserva) {
		try 
		{
			Habitacion habitacion=habitacionDao.leer(reserva.getCodigo());
			habitacion.setEstado(2);
			habitacionDao.actualizar(habitacion);

			
			
			Reservacion r = new Reservacion();
			r.setClienteApellido(reserva.getNombre());
			r.setClienteCedula(reserva.getCedula());
			r.setClienteMail(reserva.getMail());
			r.setHabitacion(habitacion);

			reservDao.insert(r);
		} catch (Exception e) {
			return "error";
		}
		return null;
	}

}
